package org.jeecg.modules.meter.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.common.api.vo.Result;
import org.jeecg.entity.charge.ChargeInvoiceRequest;
import org.jeecg.entity.meter.MeterOrder;
import org.jeecg.model.charge.reqvo.DayReportReqVo;
import org.jeecg.model.charge.resvo.DayReportRespVo;
import org.jeecg.model.meter.reqvo.MeterDayReportReqVo;
import org.jeecg.model.meter.resvo.MeterDayReportRespVo;
import org.jeecg.vo.pay.FFTPayNotify;

import java.util.List;

/**
 * @Description: 仪器充值订单表
 * @Author: jeecg-boot
 * @Date:   2020-11-27
 * @Version: V1.0
 */
public interface IMeterOrderService extends IService<MeterOrder> {

   Result<MeterOrder> unLineCharge(MeterOrder meterOrder);

   Result unLineQRCodeCharge(MeterOrder meterOrder);

   Result<Object> checkOrderByTransNo(String projectId, String transNo);

   List<MeterOrder> findPage(Page<MeterOrder> page, MeterOrder meterOrder);

   Result<MeterOrder> getEvidence(String orderId);

   List<ChargeInvoiceRequest> invoiceRequestListBySn(String orderNum);

   ChargeInvoiceRequest invoiceRequestByFpqqlsh(String fpqqlsh);

   Result<MeterOrder> refundCharge(String orderId);

   Result<MeterOrder> meterPayNotify(FFTPayNotify fftPayNotify);

   List<MeterDayReportRespVo> findGroupList(MeterDayReportReqVo meterDayReportReqVo);

   List<DayReportRespVo> apiFindGroupList(DayReportReqVo dayReportReqVo);

   Result meterBlueInvoice(MeterOrder meterOrder);

   String getOpenId(String cn);
}
